#pragma once

#include "chunkcamera.h"
#include "DXUT\Optional\DXUTcamera.h"

//#include <Physics/Dynamics/Entity/hkpRigidBody.h>

//class hkpWorld;

//class CameraCollisionResponse;

class TestCamera
	:public ChunkSystem::ChunkCamera , public CFirstPersonCamera
{
public:
	TestCamera(void);
	virtual ~TestCamera(void);

	virtual Common::Vector3 GetPos( void ) const
	{ 
		const D3DXVECTOR3* vEyePos = this->GetEyePt();
		return Common::Vector3( vEyePos->x, vEyePos->y, vEyePos->z );
	}

    virtual void FrameMove( FLOAT fElapsedTime );

	float GetMoveSpeed( void ) const;

private:
	//CameraCollisionResponse* m_pCameraCR;
};

class TestCameraFactory
	:public ChunkSystem::ChunkCameraFactory
{
public:
	virtual ChunkSystem::ChunkCamera* CreateCamera(void)
	{
		return new TestCamera;
	}
};
